public class Solution4 {
    public boolean isBalanced(TreeNode root) {
        if(root==null){
            return true;
        }
        if(Math.abs(getHeight(root.left)-getHeight(root.right))>=2){
            return false;
        }
        return isBalanced(root.left)&&isBalanced(root.right);
    }
    // 与树的高度有关
    public int getHeight(TreeNode root){
//  树的高度  左子树与右子树较高者加1
        if(root==null){
            return 0;
        }
        if(root.left==null&&root.right==null){
            return 1;
        }
        return Math.max(getHeight(root.left),getHeight(root.right))+1;
    }
}
